gtk: remove the private GTK_EXTEND/MODIFY_SELECTION_MOD_MASK
authorMichael Natterer <mitch@lanedo.com>
Tue, 27 Sep 2011 10:06:10 +0000 (12:06 +0200)
committerMichael Natterer <mitch@gimp.org>
Tue, 27 Sep 2011 10:06:10 +0000 (12:06 +0200)
and use the new public modifier abstraction API instead.

gtk/gtkentry.c
gtk/gtkiconview.c
gtk/gtkprivate.h
gtk/gtktextview.c
gtk/gtktreeview.c

index f9ad68ab3caa37a3f2fc13e33d29f86ba971aa1d..c22cb0eaf8486cd7ceb2940ec64424c989c879da 100644 (file)
@@ -3784,14 +3784,16 @@ gtk_entry_button_press (GtkWidget      *widget,
   else if (event->button == 1)
     {
       gboolean have_selection = gtk_editable_get_selection_bounds (editable, &sel_start, &sel_end);
-      
+
       priv->select_words = FALSE;
       priv->select_lines = FALSE;
 
-      if (event->state & GTK_EXTEND_SELECTION_MOD_MASK)
+      if (event->state &
+          gtk_widget_get_modifier_mask (widget,
+                                        GDK_MODIFIER_INTENT_EXTEND_SELECTION))
        {
          _gtk_entry_reset_im_context (entry);
-         
+
          if (!have_selection) /* select from the current position to the clicked position */
            sel_start = sel_end = priv->current_pos;
          
index 61175b48c8cbf6f7e42e78613fcb829bac642d45..10811d48b8db2e1ca4df21374d3194f19a0dc42a 100644 (file)
@@ -2018,6 +2018,15 @@ gtk_icon_view_button_press (GtkWidget      *widget,
 
   if (event->button == 1 && event->type == GDK_BUTTON_PRESS)
     {
+      GdkModifierType extend_mod_mask;
+      GdkModifierType modify_mod_mask;
+
+      extend_mod_mask =
+        gtk_widget_get_modifier_mask (widget, GDK_MODIFIER_INTENT_EXTEND_SELECTION);
+
+      modify_mod_mask =
+        gtk_widget_get_modifier_mask (widget, GDK_MODIFIER_INTENT_MODIFY_SELECTION);
+
       item = gtk_icon_view_get_item_at_coords (icon_view, 
                                               event->x, event->y,
                                               FALSE,
@@ -2043,7 +2052,7 @@ gtk_icon_view_button_press (GtkWidget      *widget,
              gtk_icon_view_set_cursor_item (icon_view, item, cursor_cell);
            }
          else if (icon_view->priv->selection_mode == GTK_SELECTION_MULTIPLE &&
-                  (event->state & GTK_EXTEND_SELECTION_MOD_MASK))
+                  (event->state & extend_mod_mask))
            {
              gtk_icon_view_unselect_all_internal (icon_view);
 
@@ -2060,7 +2069,7 @@ gtk_icon_view_button_press (GtkWidget      *widget,
            {
              if ((icon_view->priv->selection_mode == GTK_SELECTION_MULTIPLE ||
                  ((icon_view->priv->selection_mode == GTK_SELECTION_SINGLE) && item->selected)) &&
-                 (event->state & GTK_MODIFY_SELECTION_MOD_MASK))
+                 (event->state & modify_mod_mask))
                {
                  item->selected = !item->selected;
                  gtk_icon_view_queue_draw_item (icon_view, item);
@@ -2107,7 +2116,7 @@ gtk_icon_view_button_press (GtkWidget      *widget,
       else
        {
          if (icon_view->priv->selection_mode != GTK_SELECTION_BROWSE &&
-             !(event->state & GTK_MODIFY_SELECTION_MOD_MASK))
+             !(event->state & modify_mod_mask))
            {
              dirty = gtk_icon_view_unselect_all_internal (icon_view);
            }
@@ -3566,9 +3575,19 @@ gtk_icon_view_real_move_cursor (GtkIconView     *icon_view,
 
   if (gtk_get_current_event_state (&state))
     {
-      if ((state & GTK_MODIFY_SELECTION_MOD_MASK) == GTK_MODIFY_SELECTION_MOD_MASK)
+      GdkModifierType extend_mod_mask;
+      GdkModifierType modify_mod_mask;
+
+      extend_mod_mask =
+        gtk_widget_get_modifier_mask (GTK_WIDGET (icon_view),
+                                      GDK_MODIFIER_INTENT_EXTEND_SELECTION);
+      modify_mod_mask =
+        gtk_widget_get_modifier_mask (GTK_WIDGET (icon_view),
+                                      GDK_MODIFIER_INTENT_MODIFY_SELECTION);
+
+      if ((state & modify_mod_mask) == modify_mod_mask)
         icon_view->priv->modify_selection_pressed = TRUE;
-      if ((state & GTK_EXTEND_SELECTION_MOD_MASK) == GTK_EXTEND_SELECTION_MOD_MASK)
+      if ((state & extend_mod_mask) == extend_mod_mask)
         icon_view->priv->extend_selection_pressed = TRUE;
     }
   /* else we assume not pressed */
index b8bb90ecb9e9aa8519e31118aa2cb0a53f29d267..0def8c12eed6ada89f7d28bc8e74a1dfd03a70fc 100644 (file)
@@ -67,14 +67,6 @@ const gchar *_gtk_get_data_prefix ();
 #define GTK_DEFAULT_ACCEL_MOD_MASK GDK_META_MASK
 #endif
 
-#ifndef GDK_WINDOWING_QUARTZ
-#define GTK_EXTEND_SELECTION_MOD_MASK GDK_SHIFT_MASK
-#define GTK_MODIFY_SELECTION_MOD_MASK GDK_CONTROL_MASK
-#else
-#define GTK_EXTEND_SELECTION_MOD_MASK GDK_SHIFT_MASK
-#define GTK_MODIFY_SELECTION_MOD_MASK GDK_MOD2_MASK
-#endif
-
 gboolean _gtk_fnmatch      (const char *pattern,
                             const char *string,
                             gboolean    no_leading_period);
index 9b073345c4008a129884abfd3de917b8130b3ed0..e128c3a14d6a5eab438c2f0f4f7099c4059c04f1 100644 (file)
@@ -4566,7 +4566,9 @@ gtk_text_view_button_press_event (GtkWidget *widget, GdkEventButton *event)
           if (gtk_text_buffer_get_selection_bounds (get_buffer (text_view),
                                                     &start, &end) &&
               gtk_text_iter_in_range (&iter, &start, &end) &&
-              !(event->state & GTK_EXTEND_SELECTION_MOD_MASK))
+              !(event->state &
+                gtk_widget_get_modifier_mask (widget,
+                                              GDK_MODIFIER_INTENT_EXTEND_SELECTION)))
             {
               priv->drag_start_x = event->x;
               priv->drag_start_y = event->y;
@@ -6491,7 +6493,9 @@ gtk_text_view_start_selection_drag (GtkTextView       *text_view,
   orig_start = ins;
   orig_end = bound;
 
-  if (button->state & GTK_EXTEND_SELECTION_MOD_MASK)
+  if (button->state &
+      gtk_widget_get_modifier_mask (GTK_WIDGET (text_view),
+                                    GDK_MODIFIER_INTENT_EXTEND_SELECTION))
     {
       /* Extend selection */
       GtkTextIter old_ins, old_bound;
index 43c3d60cbda0b9b3ca32bf5273874ed4031d1c35..7cf74ddec7b8b473bd38b3c858a8e4f531157233 100644 (file)
@@ -2880,6 +2880,8 @@ gtk_tree_view_button_press (GtkWidget      *widget,
       gboolean row_double_click = FALSE;
       gboolean rtl;
       gboolean node_selected;
+      GdkModifierType extend_mod_mask;
+      GdkModifierType modify_mod_mask;
 
       /* Empty tree? */
       if (tree_view->priv->tree == NULL)
@@ -3034,6 +3036,12 @@ gtk_tree_view_button_press (GtkWidget      *widget,
            gtk_tree_path_free (anchor);
        }
 
+      extend_mod_mask =
+        gtk_widget_get_modifier_mask (widget, GDK_MODIFIER_INTENT_EXTEND_SELECTION);
+
+      modify_mod_mask =
+        gtk_widget_get_modifier_mask (widget, GDK_MODIFIER_INTENT_MODIFY_SELECTION);
+
       /* select */
       node_selected = GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_IS_SELECTED);
       pre_val = gtk_adjustment_get_value (tree_view->priv->vadjustment);
@@ -3044,9 +3052,9 @@ gtk_tree_view_button_press (GtkWidget      *widget,
         {
           GtkCellRenderer *focus_cell;
 
-          if ((event->state & GTK_MODIFY_SELECTION_MOD_MASK) == GTK_MODIFY_SELECTION_MOD_MASK)
+          if ((event->state & modify_mod_mask) == modify_mod_mask)
             tree_view->priv->modify_selection_pressed = TRUE;
-          if ((event->state & GTK_EXTEND_SELECTION_MOD_MASK) == GTK_EXTEND_SELECTION_MOD_MASK)
+          if ((event->state & extend_mod_mask) == extend_mod_mask)
             tree_view->priv->extend_selection_pressed = TRUE;
 
           /* We update the focus cell here, this is also needed if the
@@ -3063,12 +3071,12 @@ gtk_tree_view_button_press (GtkWidget      *widget,
           if (focus_cell)
             gtk_tree_view_column_focus_cell (column, focus_cell);
 
-          if (event->state & GTK_MODIFY_SELECTION_MOD_MASK)
+          if (event->state & modify_mod_mask)
             {
               gtk_tree_view_real_set_cursor (tree_view, path, FALSE, TRUE);
               gtk_tree_view_real_toggle_cursor_row (tree_view);
             }
-          else if (event->state & GTK_EXTEND_SELECTION_MOD_MASK)
+          else if (event->state & extend_mod_mask)
             {
               gtk_tree_view_real_set_cursor (tree_view, path, FALSE, TRUE);
               gtk_tree_view_real_select_cursor_row (tree_view, FALSE);
@@ -3111,9 +3119,9 @@ gtk_tree_view_button_press (GtkWidget      *widget,
              tree_view->priv->rubber_band_y = event->y + tree_view->priv->dy;
              tree_view->priv->rubber_band_status = RUBBER_BAND_MAYBE_START;
 
-             if ((event->state & GTK_MODIFY_SELECTION_MOD_MASK) == GTK_MODIFY_SELECTION_MOD_MASK)
+             if ((event->state & modify_mod_mask) == modify_mod_mask)
                tree_view->priv->rubber_band_modify = TRUE;
-             if ((event->state & GTK_EXTEND_SELECTION_MOD_MASK) == GTK_EXTEND_SELECTION_MOD_MASK)
+             if ((event->state & extend_mod_mask) == extend_mod_mask)
                tree_view->priv->rubber_band_extend = TRUE;
            }
         }
@@ -8572,9 +8580,20 @@ gtk_tree_view_real_move_cursor (GtkTreeView       *tree_view,
 
   if (gtk_get_current_event_state (&state))
     {
-      if ((state & GTK_MODIFY_SELECTION_MOD_MASK) == GTK_MODIFY_SELECTION_MOD_MASK)
+      GdkModifierType extend_mod_mask;
+      GdkModifierType modify_mod_mask;
+
+      extend_mod_mask =
+        gtk_widget_get_modifier_mask (GTK_WIDGET (tree_view),
+                                      GDK_MODIFIER_INTENT_EXTEND_SELECTION);
+
+      modify_mod_mask =
+        gtk_widget_get_modifier_mask (GTK_WIDGET (tree_view),
+                                      GDK_MODIFIER_INTENT_MODIFY_SELECTION);
+
+      if ((state & modify_mod_mask) == modify_mod_mask)
         tree_view->priv->modify_selection_pressed = TRUE;
-      if ((state & GTK_EXTEND_SELECTION_MOD_MASK) == GTK_EXTEND_SELECTION_MOD_MASK)
+      if ((state & extend_mod_mask) == extend_mod_mask)
         tree_view->priv->extend_selection_pressed = TRUE;
     }
   /* else we assume not pressed */
@@ -10803,7 +10822,13 @@ gtk_tree_view_real_select_cursor_parent (GtkTreeView *tree_view)
 
       if (gtk_get_current_event_state (&state))
        {
-         if ((state & GTK_MODIFY_SELECTION_MOD_MASK) == GTK_MODIFY_SELECTION_MOD_MASK)
+          GdkModifierType modify_mod_mask;
+
+          modify_mod_mask =
+            gtk_widget_get_modifier_mask (GTK_WIDGET (tree_view),
+                                          GDK_MODIFIER_INTENT_MODIFY_SELECTION);
+
+         if ((state & modify_mod_mask) == modify_mod_mask)
            tree_view->priv->modify_selection_pressed = TRUE;
        }